import request from '../../utils/course/request.js'

/**
 * 插入新的课程信息
 * @param {Object} courseList - 课程列表信息对象
 * @param {MultipartFile[]} files - 上传的文件数组
 * @returns {Promise} 插入操作影响的记录数
 */
export function insertCourse(courseList, files) {
  const formData = new FormData()
  // 追加课程列表信息
  Object.keys(courseList).forEach(key => {
    formData.append(key, courseList[key])
  })
  // 追加文件
  if (files && files.length > 0) {
    files.forEach(file => {
      formData.append('files', file)
    })
  }
  return request({
    url: 'course/insertCourse',
    method: 'post',
    data: formData
  })
}

/**
 * 获取所有课程列表
 * @returns {Promise} 课程列表集合
 */
export function getCourseList() {
  return request({
    url: 'course/getCourseList',
    method: 'get'
  })
}

/**
 * 根据课程列表ID获取课程文件信息
 * @param {Number} listId - 课程列表ID
 * @returns {Promise} 课程文件信息集合
 */
export function getCourseFile(listId) {
  return request({
    url: 'course/getCourseFile',
    method: 'get',
    params: { listId }
  })
}

/**
 * 根据用户编号获取课程列表
 * @param {String} userNum - 用户编号
 * @returns {Promise} 该用户相关的课程列表集合
 */
export function getCourseListByUserNum(userNum) {
  return request({
    url: 'course/getCourseListByUserNum',
    method: 'get',
    params: { userNum }
  })
}

/**
 * 删除课程信息
 * @param {Number} id - 课程ID
 * @returns {Promise} 删除操作影响的记录数
 */
export function deleteCourse(id) {
  return request({
    url: 'course/deleteCourse',
    method: 'post',
    params: { id }
  })
}

export function getCourseDetails(listId){
    return request({
        url: 'course/getCourseDetails',
        method: 'get',
        params: { listId }
    
    })
}